diff --git a/user_guide/overview/appflow.html b/user_guide/overview/appflow.html
index bcbc43f..3b1c42e 100644
--- a/user_guide/overview/appflow.html
+++ b/user_guide/overview/appflow.html
@@ -67,7 +67,7 @@
 <li>The index.php serves as the front controller, initializing the base resources needed to run CodeIgniter.</li>
 <li>The Router examines the HTTP request to determine what should be done with it.</li>
 <li>If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.</li>
-<li>Security.  Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.</li>
+<li>Security. Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.</li>
 <li>The Controller loads the model, core libraries, helpers, and any other resources needed to process the specific request.</li>
 <li>The finalized View is rendered then sent to the web browser to be seen. If caching is enabled, the view is cached first so
 that on subsequent requests it can be served.</li>
diff --git a/user_guide/overview/at_a_glance.html b/user_guide/overview/at_a_glance.html
index b6b81d7..1175e7f 100644
--- a/user_guide/overview/at_a_glance.html
+++ b/user_guide/overview/at_a_glance.html
@@ -60,7 +60,7 @@
 
 <h2>CodeIgniter is an Application Framework</h2>
 
-<p>CodeIgniter is a toolkit for people who build web applications using PHP.  Its goal is to enable you to develop projects much faster than you could if you were writing code
+<p>CodeIgniter is a toolkit for people who build web applications using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code
 from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and
 logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by
 minimizing the amount of code needed for a given task.</p>
@@ -70,7 +70,7 @@
 For more information please read the <a href="../license.html">license agreement</a>.</p>
 
 <h2>CodeIgniter is Light Weight</h2>
-<p>Truly light weight.  The core system requires only a few very small libraries. This is in stark contrast to many frameworks that require significantly more resources.
+<p>Truly light weight. The core system requires only a few very small libraries. This is in stark contrast to many frameworks that require significantly more resources.
 Additional libraries are loaded dynamically upon request, based on your needs for a given process, so the base system
 is very lean and quite fast.
 </p>
@@ -84,7 +84,7 @@
 This is particularly good for projects in which designers are working with your template files, as the code these file contain will be minimized. We describe MVC in more detail on its own page.</p>
 
 <h2>CodeIgniter Generates Clean URLs</h2>
-<p>The URLs generated by CodeIgniter are clean and search-engine friendly.  Rather than using the standard "query string"
+<p>The URLs generated by CodeIgniter are clean and search-engine friendly. Rather than using the standard "query string"
 approach to URLs that is synonymous with dynamic systems, CodeIgniter uses a segment-based approach:</p>
 
 <code>example.com/<var>news</var>/<dfn>article</dfn>/<samp>345</samp></code>
@@ -92,7 +92,7 @@
 <p>Note: By default the index.php file is included in the URL but it can be removed using a simple .htaccess file.</p>
 
 <h2>CodeIgniter Packs a Punch</h2>
-<p>CodeIgniter comes with  full-range of libraries that enable the most commonly needed web development tasks,
+<p>CodeIgniter comes with full-range of libraries that enable the most commonly needed web development tasks,
 like accessing a database, sending email, validating form data, maintaining sessions, manipulating images, working with XML-RPC data and
 much more.</p>
 
@@ -104,7 +104,7 @@
 <p>Although CodeIgniter <em>does</em> come with a simple template parser that can be optionally used, it does not force you to use one.
 
 Template engines simply can not match the performance of native PHP, and the syntax that must be learned to use a template
-engine is usually only marginally easier than learning the basics of PHP.  Consider this block of PHP code:</p>
+engine is usually only marginally easier than learning the basics of PHP. Consider this block of PHP code:</p>
 
 <code>&lt;ul><br />
 <br />
@@ -133,7 +133,7 @@
 
 
 <h2>CodeIgniter is Thoroughly Documented</h2>
-<p>Programmers love to code and hate to write documentation.  We're no different, of course, but
+<p>Programmers love to code and hate to write documentation. We're no different, of course, but
 since documentation is <strong>as important</strong> as the code itself,
 we are committed to doing it. Our source code is extremely clean and well commented as well.</p>
 
diff --git a/user_guide/overview/features.html b/user_guide/overview/features.html
index e20219e..4209463 100644
--- a/user_guide/overview/features.html
+++ b/user_guide/overview/features.html
@@ -59,10 +59,10 @@
 <h1>CodeIgniter Features</h1>
 
 <p>Features in and of themselves are a very poor way to judge an application since they tell you nothing
-about the user experience, or how intuitively or intelligently it is designed.  Features
+about the user experience, or how intuitively or intelligently it is designed. Features
 don't reveal anything about the quality of the code, or the performance, or the attention to detail, or security practices.
 The only way to really judge an app is to try it and get to know the code. <a href="../installation/">Installing</a>
-CodeIgniter is child's play so we encourage you to do just that.  In the mean time here's a list of CodeIgniter's main features.</p>
+CodeIgniter is child's play so we encourage you to do just that. In the mean time here's a list of CodeIgniter's main features.</p>
 
 <ul>
 <li>Model-View-Controller Based System</li>
@@ -73,7 +73,7 @@
 <li>Security and XSS Filtering</li>
 <li>Session Management</li>
 <li>Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols (sendmail, SMTP, and Mail) and more.</li>
-<li>Image Manipulation Library (cropping, resizing, rotating, etc.).  Supports GD, ImageMagick, and NetPBM</li>
+<li>Image Manipulation Library (cropping, resizing, rotating, etc.). Supports GD, ImageMagick, and NetPBM</li>
 <li>File Uploading Class</li>
 <li>FTP Class</li>
 <li>Localization</li>
diff --git a/user_guide/overview/getting_started.html b/user_guide/overview/getting_started.html
index f120913..1683326 100644
--- a/user_guide/overview/getting_started.html
+++ b/user_guide/overview/getting_started.html
@@ -57,7 +57,7 @@
 
 <h1>Getting Started With CodeIgniter</h1>
 
-<p>Any software application requires some effort to learn.  We've done our best to minimize the learning
+<p>Any software application requires some effort to learn. We've done our best to minimize the learning
 curve while making the process as enjoyable as possible.
 </p>
 
diff --git a/user_guide/overview/goals.html b/user_guide/overview/goals.html
index 754ecaa..7f1f767 100644
--- a/user_guide/overview/goals.html
+++ b/user_guide/overview/goals.html
@@ -67,9 +67,9 @@
 <p>From a technical and architectural standpoint, CodeIgniter was created with the following objectives:</p>
 
 <ul>
-<li><strong>Dynamic Instantiation.</strong>  In CodeIgniter, components are loaded and routines executed only when requested, rather than globally.  No assumptions are made by the system regarding what may be needed beyond the minimal core resources, so the system is very light-weight by default.  The events, as triggered by the HTTP request, and the controllers and views you design will determine what is invoked.</li>
-<li><strong>Loose Coupling.</strong>  Coupling is the degree to which components of a system rely on each other.  The less components depend on each other the more reusable and flexible the system becomes. Our goal was a very loosely coupled system.</li>
-<li><strong>Component Singularity.</strong>  Singularity is the degree to which components have a narrowly focused purpose.  In CodeIgniter, each class and its functions are highly autonomous in order to allow maximum usefulness.</li>
+<li><strong>Dynamic Instantiation.</strong> In CodeIgniter, components are loaded and routines executed only when requested, rather than globally. No assumptions are made by the system regarding what may be needed beyond the minimal core resources, so the system is very light-weight by default. The events, as triggered by the HTTP request, and the controllers and views you design will determine what is invoked.</li>
+<li><strong>Loose Coupling.</strong> Coupling is the degree to which components of a system rely on each other. The less components depend on each other the more reusable and flexible the system becomes. Our goal was a very loosely coupled system.</li>
+<li><strong>Component Singularity.</strong> Singularity is the degree to which components have a narrowly focused purpose. In CodeIgniter, each class and its functions are highly autonomous in order to allow maximum usefulness.</li>
 </ul>
 
 <p>CodeIgniter is a dynamically instantiated, loosely coupled system with high component singularity. It strives for simplicity, flexibility, and high performance in a small footprint package.</p>
diff --git a/user_guide/overview/mvc.html b/user_guide/overview/mvc.html
index 91cf649..9eb327a 100644
--- a/user_guide/overview/mvc.html
+++ b/user_guide/overview/mvc.html
@@ -60,12 +60,12 @@
 
 <p>CodeIgniter is based on the Model-View-Controller development pattern.
 
-MVC is a software approach that separates application logic from presentation.  In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.</p>
+MVC is a software approach that separates application logic from presentation. In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.</p>
 
 <ul>
 <li>The <strong>Model</strong> represents your data structures. Typically your model classes will contain functions that help you
-retrieve, insert, and update information in your  database.</li>
-<li>The <strong>View</strong> is the information that is being presented to a user.  A View will normally be a web page, but
+retrieve, insert, and update information in your database.</li>
+<li>The <strong>View</strong> is the information that is being presented to a user. A View will normally be a web page, but
 in CodeIgniter, a view can also be a page fragment like a header or footer. It can also be an RSS page, or any other type of "page".</li>
 <li>The <strong>Controller</strong> serves as an <em>intermediary</em> between the Model, the View,
 and any other resources needed to process the HTTP request and generate a web page.</li>
